netbsd-*.patch
patches/tmp/*
pristine-*
+ref-*
tools/*/build/lib*/*.py
tools/balloon/balloon
tools/check/.*
netbsd-%.tar.bz2: netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
ln -fs $< $@
+ifeq ($(OS),linux)
+OS_VER = $(LINUX_VER)
+else
+OS_VER = $(NETBSD_VER)
+endif
+
pristine-%: %.tar.bz2
rm -rf tmp-$(@F) $@
mkdir -p tmp-$(@F)
mv tmp-$(@F)/* $@
touch $@ # update timestamp to avoid rebuild
@rm -rf tmp-$(@F)
+
+OS_PATCHES = $(shell echo patches/$(OS)-$(OS_VER)/*.patch)
+
+ref-%: pristine-% $(OS_PATCHES)
+ rm -rf $@
+ cp -al $< tmp-$(@F)
[ -d patches/$* ] && \
- for i in patches/$*/*.patch ; do ( cd $@ ; patch -p1 <../$$i ) ; done || \
+ for i in patches/$*/*.patch ; do ( cd tmp-$(@F) ; patch -p1 <../$$i ) ; done || \
true
+ mv tmp-$(@F) $@
+ touch $@ # update timestamp to avoid rebuild
%-build:
$(MAKE) -f buildconfigs/mk.$* build
%-clean:
$(MAKE) -f buildconfigs/mk.$* clean
-%-xen.patch: pristine-%
+%-xen.patch: ref-%
rm -rf tmp-$@
cp -al $< tmp-$@
( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ )
rm -rf tmp-$@
%-mrproper: %-mrproper-extra
- rm -rf pristine-$* $*.tar.bz2
+ rm -rf pristine-$* ref-$* $*.tar.bz2
rm -rf $*-xen.patch
netbsd-%-mrproper-extra:
+OS = linux
+
LINUX_SERIES = 2.4
EXTRAVERSION = xen0
FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
-LINUX_DIR = linux-$(FULLVERSION)
+LINUX_DIR = $(OS)-$(FULLVERSION)
include buildconfigs/Rules.mk
wget http://www.cl.cam.ac.uk/netos/xen/downloads/ebtables-brnf-5_vs_2.4.27.diff.gz -O- | gunzip -c > $@
$(LINUX_DIR)/include/linux/autoconf.h: patches/tmp/ebtables.diff
-$(LINUX_DIR)/include/linux/autoconf.h: pristine-linux-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
rm -rf $(LINUX_DIR)
cp -al $< $(LINUX_DIR)
# Apply arch-xen patches
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
+ rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR)
+OS = linux
+
LINUX_SERIES = 2.4
EXTRAVERSION = xenU
FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
-LINUX_DIR = linux-$(FULLVERSION)
+LINUX_DIR = $(OS)-$(FULLVERSION)
include buildconfigs/Rules.mk
fi
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
-$(LINUX_DIR)/include/linux/autoconf.h: pristine-linux-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)
rm -rf $(LINUX_DIR)
cp -al $< $(LINUX_DIR)
# Apply arch-xen patches
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
+ rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR)
+OS = linux
+
LINUX_SERIES = 2.6
EXTRAVERSION = xen0
FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
-LINUX_DIR = linux-$(FULLVERSION)
+LINUX_DIR = $(OS)-$(FULLVERSION)
include buildconfigs/Rules.mk
fi
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
-$(LINUX_DIR)/include/linux/autoconf.h: pristine-linux-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
rm -rf $(LINUX_DIR)
cp -al $< $(LINUX_DIR)
# Apply arch-xen patches
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
+ rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR)
+OS = linux
+
LINUX_SERIES = 2.6
EXTRAVERSION = xenU
FULLVERSION = $(LINUX_VER)-$(EXTRAVERSION)
-LINUX_DIR = linux-$(FULLVERSION)
+LINUX_DIR = $(OS)-$(FULLVERSION)
include buildconfigs/Rules.mk
fi
$(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
-$(LINUX_DIR)/include/linux/autoconf.h: pristine-linux-$(LINUX_VER)
+$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)
rm -rf $(LINUX_DIR)
cp -al $< $(LINUX_DIR)
# Apply arch-xen patches
$(MAKE) -C $(LINUX_DIR) ARCH=xen clean
delete:
- rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
+ rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR)
+OS = netbsd
+
NETBSD_RELEASE ?= 2.0
NETBSD_CVSSNAP ?= 20050309
FULLVERSION = $(NETBSD_VER)-$(EXTRAVERSION)
-NETBSD_DIR = netbsd-$(FULLVERSION)
+NETBSD_DIR = $(OS)-$(FULLVERSION)
.PHONY: build clean mrproper mkpatch
include buildconfigs/Rules.mk
-build: netbsd-$(EXTRAVERSION)
+build: $(OS)-$(EXTRAVERSION)
netbsd-%-tools.tar.bz2:
@echo "Cannot find netbsd-$(NETBSD_VER)-tools.tar.gz in path $(NETBSD_SRC_PATH)"
tar -jxf $<
touch $@ # update timestamp to avoid rebuild
-$(NETBSD_DIR)/.valid: pristine-netbsd-$(NETBSD_VER)
+$(NETBSD_DIR)/.valid: ref-$(OS)-$(NETBSD_VER)
$(RM) -rf $(NETBSD_DIR)
cp -al $< $(NETBSD_DIR)
# Apply arch-xen patches
$(MAKE) -C netbsd-$(FULLVERSION) clean
delete:
- rm -rf tmp-netbsd-$(NETBSD_VER) $(NETBSD_DIR)
+ rm -rf tmp-$(OS)-$(NETBSD_VER) $(NETBSD_DIR)